home *** CD-ROM | disk | FTP | other *** search
/ United Public Domain Gold 2 / United Public Domain Gold 2.iso / utilities / pu654.dms / pu654.adf / Apple2000 / Apple2000.doc < prev    next >
Text File  |  1994-11-20  |  28KB  |  577 lines

  1.  
  2.                                 APPLE 2000
  3.                The premier Apple ][ emulator for the Amiga
  4.                              by Kevin Kralian
  5.                     Copyright © 1994, Patents Pending
  6.                            All Rights Reserved
  7.  
  8. ------------------------------------------------------------------------------
  9.  
  10. This program is freely distributable, as long as this instruction file is
  11. kept with the program, and no modifications are made to my program or
  12. instructions.
  13.  
  14. This program is also SHAREWARE (well, more accurately, Tech-Ware).
  15. Payment is not mandatory, however, donating to me useful, enabling
  16. technical material will result in me creating other emulations...
  17. See below for more info.
  18.  
  19. Standard Disclaimer:  This program is AS IS; use it at your own risk!  I
  20. assume no responsibility if this program or its use should cause something
  21. disastrous to happen or kill you.
  22.  
  23. I may be contacted at "Kevin_Kralian@sacbbx.com"
  24.  
  25. This program uses "ReqTools.library", Copyright © by Nico François.
  26.  
  27. ------------------------------------------------------------------------------
  28.  
  29. REQUIREMENTS:
  30.  
  31.   o Amiga computer with Kickstart 2.0 or newer (3.0+ still untested)
  32.   o A 68020+ CPU.  Emulation WILL NOT WORK on a 68000 system at this time.
  33.   o About 900k free RAM (preferably most of it FAST RAM)
  34.   o ReqTools.library by Nico François
  35.   o Apple ][ ROM image & disk controller ROM image
  36.       (called _APPLE.ROM and _DISK.ROM)
  37.  
  38.    Recommended:
  39.   o  A two-button joystick (to emulate the Apple's two-button joystick)
  40.   o  A 68030 at ~25MHz (for full speed 1 MHz emulation)
  41.  
  42.  
  43. DESCRIPTION:
  44.  
  45. "Apple 2000" is the premier Apple ][ emulator for the Amiga computer.  At
  46. its current level it accurately emulates a 64K Apple ][+, including:
  47.  
  48.    o 6502 CPU
  49.    o ALL video modes (Text, LoRes, HiRes, Mixed modes, etc)
  50.    o 16k RAM card (64k computer)
  51.    o 5¼" disk drive (via disk images)
  52.    o Two button joystick
  53.    o Keyboard
  54.    o Sound
  55.  
  56. The emulation also runs in a completely system friendly manner,
  57. multitasking properly with other programs.  The two main goals were speed
  58. and accuracy.  This was accomplished by hand coding the emulator in 100%
  59. machine language, optimization via instruction cycle analysis, and
  60. painstaking attention to Apple hardware details.
  61.  
  62. I feel confident that this is the fastest, most complete Apple ][ emulator
  63. available for the Amiga computer (commercial, public domain, or
  64. otherwise).  Some of the highlights of my emulation:
  65.  
  66.   o Apple 2000 video emulation is the most accurate around:
  67.     - There is no "dithering" of the 16 Lo-Res colors.
  68.     - The text supports inverse and flashing characters.
  69.     - Two consecutive color pixels are drawn as white (as the Apple does).
  70.     - There are no missing, skipped, or fat vertical lines on Hi-Res gfx.
  71.   o Apple 2000 disk drive emulation supports loading of "DDD" Apple disk
  72.     archives from any Amiga device (no home made archive format or
  73.     conversions required).
  74.   o Apple 2000 disk drive emulation also saves disk images in compressed
  75.     "DDD" format automatically.
  76.   o Apple 2000 emulation is able to instantly load and run Apple
  77.     executable files from any Amiga device (better than a real Apple; no
  78.     'disk booting' required!).
  79.  
  80.  
  81. REASONS/WHY AN APPLE II EMULATOR?
  82.  
  83. Good question!  This is my first attempt at a large scale 68000 assembly
  84. program and I had nothing else in particular to write.  Of course, I could
  85. always have tried to write a game or demo, however the point of this
  86. project was to learn 680x0 and more about the Amiga Operating Aystem.  I
  87. did not want to delve into the hardware specifics of the Amiga (yet), such
  88. as taking over the copper, blitter, etc.  An Apple ][ emulator was the
  89. perfect task.
  90.  
  91. Why the Apple ][?  Sentimental reasons.  It's the computer I grew up with
  92. and learned to program on.  Since I have a fundamental understanding of
  93. the Apple and because there aren't any other useable Apple emulators out
  94. there (I've seen 5 or 6), the task called to me.  I wanted to be able to
  95. play all of my favorite games that I grew up with.  Yes, they certainly
  96. are not cutting edge as far as the graphics and sound goes, but they
  97. certainly are playable!  And I can overlook the cosmetics for some good
  98. gameplay (i.e, just like people appreciate classic cars or oldies music).
  99. Plus I wanted all of my friends to be able to play all of those great
  100. forgotten games...the classics!  The original CASTLE WOLFENSTEIN,
  101. CHOPLIFTER, KARATEKA and CARMEN SANDIEGO.  How many other multitasking
  102. versions of JUNGLE HUNT or ROBOTRON 2084 can you play while downloading a
  103. program?  By writing this one emulator, the entire Amiga community is
  104. suddenly presented with over 10,000 (now multitasking) Apple ][ programs
  105. we wouldn't have otherwise been able to use (or play).
  106.  
  107. After letting the idea stew in my head for 6 months, and much apparent
  108. rambling to my friends (who so nicely encouraged me by saying, "What?  YOU
  109. write an emulator?  And in C?  UGH!"), I began coding.  One month later, I
  110. brought my first creation over to a friends house to see how it worked on
  111. his system.  After starting it up, we sat there.  30 seconds later we were
  112. still sitting there, looking at a white screen.  Eventually, we watched as
  113. each little white character s-l-o-w-l-y was replaced by a black space.
  114. Two minutes later, after getting bored of waiting for it to finish
  115. clearing the screen, we gave up and played 2-player LEMMINGS.  I knew the
  116. only way I was going to be able to make this program 'practical' was to do
  117. it in assembly.
  118.  
  119. I finally bought DevPac 3.  After writing a program to bounce 65,535
  120. colored pixels around a screen, I felt ready and experienced.  I began
  121. converting my routines for my emulator into assembly code.  Almost two
  122. years later (and after rewriting most of my emulation 10 times) my
  123. emulator has finally matured enough to go out into the cold and brutal
  124. world.  Here it is, ready to be challenged by thousands of Apple programs
  125. I have never even heard of, and ready to do its damndest to run them all!
  126.  
  127.  
  128. RUNNING THE EMULATION
  129.  
  130. Make sure "ReqTools.library" is in your libs: directory and place
  131. "Apple2000", "_APPLE.ROM", and "_DISK.ROM" all in the same directory.
  132. Then from the CLI/Shell, CD to its directory and type "Apple2000".
  133.  
  134. Now, assuming a little common sense (press the "OK" button on the
  135. window!), you will see a black screen with "Apple 2000" in a title bar at
  136. the top, and the words "Apple ][" immediately below it.  Congratulations,
  137. you are now using an Apple ][ computer.  The Apple is trying to boot a
  138. disk.
  139.  
  140. I will assume you have a little knowledge on using an Apple ][.  Here are
  141. some of the pertinant keys:
  142.  
  143.  KEY               Function
  144.  ------------      ------------------------------------------------------
  145.  DEL               Apple "Reset" key.
  146.  ctrl-DEL          Similar to "Ctrl-Open Apple-Reset" on ][e, ][c, ][gs.
  147.                    Forces reboot, even if reset vectors have been changed.
  148.  RAmiga-Q          Quit the emulator (after verification).
  149.  RAmiga-L          Load Apple disk image or executable into the emulator.
  150.  RAmiga-S          Save Apple disk image.
  151.  L-ALT             (Like Open-Apple on ][e) Represents Apple Paddle
  152.                    Button #0
  153.  R-ALT             (Like Closed-Apple on ][e) Represents Apple Paddle
  154.                    Button #1
  155.                    (Alt keys do not affect other keystrokes to emulator)
  156.     ^
  157.     |              Arrow keys patched to be like Apple ][e, ][c, ][gs.
  158.  <--+-->               (Note: Apple ][+ had no Up/Down arrows, and most
  159.     |                   older programs won't handle them as expected.)
  160.     v
  161.  
  162.  NumPad only:
  163.     8              Trim Apple joystick center position in respective
  164.   4 5 6            directions.
  165.     2              "5" will reset it to default (of 127,127).
  166.  
  167. LOADING DISKS/FILES
  168.  
  169. Once the Apple is running, you'll probably want to load an Apple disk or
  170. executable.  Here's how: at ANY time during emulation, feel free to press
  171. Right-Amiga-L to bring up the Load File requester.  From this requester
  172. you may load Apple 5¼" disk images or executable files.  Simply navigate
  173. to wherever the files are kept and load the file/disk image you want.
  174. Apple 2000 recognizes several types of load files:
  175.  
  176.   o Filenames with a <xxx> suffix are Dalton Disk Disintegrator archives
  177.     (DDD was a common disk compression util for the Apple, similar to DMS
  178.     for the Amiga) and the emulator will automatically decompress them!
  179.  
  180.   o Filenames with a .DISK suffix are raw disk images with no compression.
  181.     They are capable of storing images of non-DOS and copy-protected
  182.     disks, but are about 220k in size.  This format is primarily due to
  183.     early testing of the emulator and will be phased out (as well as any
  184.     references to it).
  185.  
  186.   o Filenames with a .PROG suffix are executable files; these are single
  187.     files that were runnable from Apple DOS 3.3/ProDos and did not require
  188.     any disk access thereafter.  These files now do not even require
  189.     booting any Apple disk and are simply loaded into the appropriate
  190.     Apple memory areas and started instantly (quicker and easier than a
  191.     real Apple!).
  192.  
  193. After loading a disk image (compressed or not), the emulator will ask you
  194. if you want to 'boot' the disk.  If you choose not to, you have
  195. effectively just 'put the disk in the drive' (useful when you need to
  196. insert 'Disk 2').  On the other hand, loading an executable Apple file
  197. does not give you any choices and immediately runs it.  This has all been
  198. designed to keep the emulator as clean and simple as possible in terms of
  199. starting and running Apple programs for the non Apple-literate user.
  200.  
  201. Keep in mind, loading a disk image is the same thing as inserting the disk
  202. into the Apple drive.  It will STAY there until you replace it with
  203. another disk (or some program erases that disk).  Even after you load and
  204. run several executable Apple programs, hitting Ctrl-DEL (rebooting the
  205. Apple) will boot up the last DISK IMAGE you loaded (if any).  This can be
  206. confusing if you don't know whats going on (i.e, after finishing playing
  207. MS. PACMAN and reseting the Apple, why is MUSIC CONSTRUCTION SET loading?
  208. Because the disk is still in the drive from before).
  209.  
  210.  
  211. SAVING DISK IMAGES
  212.  
  213. Pressing Right-Amiga-S will bring up a requester to save a disk image.
  214. Disk images are automatically compressed when saved.  Navigate your way
  215. through the directories (as you normally would), and enter a filename
  216. (like normal).  The only rule here is that the filename MUST end with a >
  217. character (greater than sign).  This is because the original DDD archives
  218. did not have any special identifying header, but merely relied on that
  219. trailing character (actually, DDD uses <###> where the #'s represent the
  220. number of sectors the file takes, but my emulation ignores that value and
  221. just checks for that last character).
  222.  
  223. NOTE: Ultimately, these archives will be saved with an Apple ProDOS
  224. header so that files can be transferred right back to real Apples and
  225. decompressed.  However, due to a lack of resources, I have not yet been
  226. able to implement this 'identical header' and currently disk-images will
  227. not transfer back to an Apple.  This will be incorporated later.
  228.  
  229.  
  230. TRANSFERRING APPLE FILES
  231.  
  232. To get an executable binary file from a real Apple to the Amiga is quite
  233. simple.  Copy the file to a ProDOS disk (using a utility such as Copy ][+)
  234. and then transfer it via null-modem (or however you want) to the Amiga.
  235. Make sure to append a .PROG to the end of the file name so that it's
  236. recognized by the emulator.
  237.  
  238. NOTE: At the moment, I require the conversion to ProDOS simply because
  239. ProDOS puts a standard header in front of the file that my emulator needs.
  240. I'll eventually allow files to be transferred directly from DOS 3.3.
  241.  
  242.  
  243. TRANSFERRING APPLE DISKS
  244.  
  245. Only UNPROTECTED standard 16 sector Apple disks are currently useable.
  246. This eliminates copy protected software.  Simply run Dalton Disk
  247. Disintegrator (do not use version 2.0!  It has a bug!  Use version 2.1)
  248. and use it to compress the disk into a file.  Then, convert it to ProDOS
  249. and transfer it to an Amiga (as described in "Transferring Apple Files"
  250. above).  Once on the Amiga, change the name to end in <xxx> because ProDOS
  251. strips out the <> characters.
  252.  
  253. NOTE: Like with files, eventually this will not require the intermediate
  254. ProDOS conversion either.
  255.  
  256.  
  257. TRANSFERRING APPLE ROMS
  258.  
  259. The Apple emulator, being true to form, requires the actual Apple ROM data
  260. in order for the Apple to do anything.  The standard Apple ROMs in use
  261. were the 'AppleSoft ROMs that contained AppleSoft BASIC, the assembly
  262. language monitor, and autobooting code.  So I suggest that you obtain the
  263. same ROM if you would like the same compatibility.  The ROM image can be
  264. obtained by booting an Apple ][ or ][+ with DOS 3.3, then typing:
  265.  
  266.                        BSAVE BASICROM,A$D000,L$2FFF
  267.  
  268. to save it to disk. Also, the disk controller Rom is saved by typing:
  269.  
  270.                         BSAVE DISKROM,A$C600,L$00FF
  271.  
  272. Incidentally, the main ROM image is on Apple's "DOS 3.3 System Master"
  273. disk, called FPBASIC (which may be used instead).  After saving these
  274. images to disk, use your favorite terminal software and a null modem cable
  275. (or real modems or whatever you like) to transfer these files to the
  276. Amiga.  Once transferred to the Amiga, give these files the proper names
  277. and place them in the same directory as the Apple2000 executable.
  278.  
  279. Theoretically, you can use the ROMs obtained from an Apple ][ clone (i.e,
  280. Franklin Ace, PineApple, etc.), but keep in mind that these ROMs were not
  281. 100% compatible (but were quite close).  This would effectively make my
  282. emulation a "Franklin Ace Emulator".  :-)  However, you CANNOT use the ROM
  283. images from an Apple ][e, ][c, or ][gs (maybe eventually...we'll see)!
  284.  
  285. Once on the Amiga, the filenames MUST be _APPLE.ROM and _DISK.ROM
  286.  
  287.  
  288. PADDLE/JOYSTICK EMULATION
  289.  
  290. The Apple ][ commonly uses either 2 paddles, a joystick, or a graphics
  291. tablet (like a free-floating joystick).  My emulation covers all bases.
  292. The paddles and graphics tablet emulation are handled with the mouse and
  293. the joystick emulation is handled with the joystick.
  294.  
  295. The F9 key toggles between the two and displays your choice at the top of
  296. the screen.
  297.  
  298.  
  299. For the Joystick:
  300. The Apple ][ uses (unfortunately) the variable 'all-over-the-place'
  301. PC-type of joystick (with two buttons).  This evolved from the earlier
  302. Apple days when paddles where common (PADDLE - a turning knob with a
  303. button, useful for playing PONG).  Anybody having used these joysticks
  304. know the frustration of having to constantly 'center' or 'trim' the
  305. joystick for different programs.  The emulation takes this into account
  306. also.
  307.  
  308. The Amiga 'Atari-style' joystick in the normal joystick port is used
  309. (preferably, a true 2-button joystick).  The center position defaults to
  310. the optimal center positions on an Apple (127 X 127).  However, different
  311. games expect different centering values, which can be trimmed with the
  312. 2, 4, 6, & 8 keys on the numeric keypad (ONLY, see "Running Emulation").
  313. For example, if you start CHOPLIFTER and your character drifts towards the
  314. left, press the "6" key to center the joystick more towards the right
  315. until your character no longer drifts!
  316.  
  317. If you do not have a two button joystick, you have two choices.  Go buy
  318. one, or else just use the Right-ALT key in lieu of the second button (by
  319. the way, the two ALT keys work great for pinball games like RASTER
  320. BLASTER).
  321.  
  322.  
  323. For the Paddles/Graphics Tablet:
  324. Some of the older Apple games were designed to be used with paddles, not
  325. joysticks.  This is noticable in games (APPLE GALAXIAN) as in when you
  326. release the joystick, your ship automatically moves back towards the
  327. center point on the screen.  This is exactly what would happen on a real
  328. Apple with a joystick.  You need to use the paddle emulation here.  Push
  329. F9, the top of the screen should say "Mouse", and now the mouse controls
  330. this stuff.  The horizontal movement controls Paddle #0, and vertical
  331. movement controls Paddle #1.  If you have a game that needs independant
  332. control of each paddle, you are out of luck (I'll get to that later).
  333. Programs designed for graphics tablets (KOALA PAD) or un-centered
  334. joysticks work great in this mode also, i.e, FANTAVISION, MISSILE COMMAND
  335. games, and most other free floating cursor control programs work ideally.
  336. The mouse works just like you would expect here.
  337.  
  338.  
  339. TECH NOTES
  340.  
  341. Though the emulation is 100% system friendly and running in a standard
  342. intuition screen, it has to do a few tricks with copperlists in order to
  343. achieve the Apple mixed screen graphics.  The side effect of this
  344. technique is that when you pull down screens in the foreground to reveal
  345. the Apple emulator in the background, there will be times that the display
  346. looks garbled and/or is flashing.  This is normal...nothing is wrong.  If
  347. you don't like it, then don't pull screens down in front of the emulation!
  348. (A man tells a doctor, "It hurts when I do this...", and the doctor tells
  349. him "Then don't do this.")
  350.  
  351. My emulation uses innovative 6502 emulation routines, which are
  352. significantly faster than any other 6502 emulations that are available on
  353. the Amiga (commercial or otherwise).  My Apple emulation also has the most
  354. accurate graphics emulation I have witnessed.  As complex as this is,
  355. speed is always maintained by extensive use of complex lookup tables
  356. (several hundred K worth).
  357.  
  358. The ONLY graphics glitch is that the Hi-Res graphics screens do not fill
  359. in the entire display width.  That is, they leave a half-inch black border
  360. on each side of the display.  Why?  Because the Apple Hi-Res screen has a
  361. horizontal resolution of 280 pixels, and the Amiga's display has a minimum
  362. resolution of 320.  Trying to stretch this display by leaving an empty
  363. pixel after every 7 pixels or drawing every 7th pixel twice, results in a
  364. highly distorted and uneven image.  The Text modes and LoRes modes still
  365. use the entire screen width (to maintain aspect ratio).  This slightly
  366. narrow display is only noticeable in the 'mixed Graphics/Text' mode, where
  367. text will be a little wider than the graphics above it.
  368.  
  369. Also regarding Text and Graphics (but not a glitch, it's an improvement)
  370. is the fact that mixed Graphics and Text on the old Apple ]['s used to
  371. cause the text to be fringed with green and purple instead of being solid
  372. white.  This fringing has absolutely no purpose, but is a mere artifact of
  373. the Apple video circuity.  My emulation cleans it up with crisp & clean
  374. text output all the time (does anybody have any complaints?).  Apple
  375. finally cleaned this up with the Apple ][gs and its RGB output (but
  376. introduced a couple other graphic glitches), so I believe my clean Text
  377. display is desirable.
  378.  
  379. Some Apple programs use "unimplemented" 6502 instructions.  These are
  380. instructions that are not official, but partially decode into doing a
  381. particular function (as discovered by many unorthodox programmers).  My
  382. emulation does not support ANY unimplemented instructions, and will simply
  383. break upon hitting any of those instructions (with Apple ][ software, I
  384. have seen very few programs that do this).
  385.  
  386.  
  387. PLANNED IMPROVEMENTS
  388.  
  389. Currently, emulation speed is pretty much as fast as possible under the
  390. current 'interpreted' method.  A speedup of about 3X is possible if I do
  391. 'pre-interpretation' which essentially converts 6502 code to native 680x0
  392. code ahead of time, then running it at full speed.  However, this comes at
  393. a cost of excessive memory usage (I estimate using about 2 megs for the
  394. 64k Apple emulation).  This could be considered if enough people are
  395. interested (this would be the final speed boost required for the A1200
  396. owners if they have enough memory!), but is of low priority for now.
  397.  
  398. A 68000 version is easily possible, but emulation is so slow at that point
  399. (games are frustratingly unplayable), that I haven't bothered to do one.
  400.  
  401. I plan to add Apple printer & serial emulation (and redirection).  This
  402. way you could redirect Apple printer output to an Amiga file or to an
  403. Epson emulator (to print Epson output to any Amiga Prefs printer).  Or
  404. emulate the Apple serial card with an Amiga Modem, etc.
  405.  
  406. I plan to (eventually) upgrade the entire emulation to Apple ][e / ][c
  407. status.  This includes Apple "Double-Hi-Res" graphics, 128k RAM, and
  408. 80-column text.
  409.  
  410. I have thought about writing a ProDOS driver allowing the Apple to access
  411. Amiga devices as an Apple hard drive (is anybody using the emulator this
  412. seriously?).
  413.  
  414. I might tackle using a real 5¼" disk drive if enough people want it.
  415.  
  416.  
  417. WHAT ABOUT EMPLANT?
  418.  
  419. My emulator, "Apple 2000" was (p)reviewed in Amiga Computing (Issue 71,
  420. March 94), inside a larger review for the Emplant card (there's even a
  421. screenshot where you can read my title bar, Apple 2000!).  For all intents
  422. and purposes, the review makes it appear as if this program was written
  423. by, owned by, and coming soon from Utilities Unlimited, makers of the
  424. Emplant card (regardless, the reviewer loved it, noting that this was the
  425. fastest 6502 emulation he has seen).
  426.  
  427. At several World Of Commodore shows, Jim Drew showed my early versions of
  428. "Apple 2000" to crowds of people during his presentations of his Emplant
  429. card.  A friend even has a video-tape of Jim loading up and showing my
  430. emulator to a crowd when I asked, "What other emulators are you doing?"
  431. (before he knew who I was) at WOC in Pasadena, 1993.
  432.  
  433. To set the record straight, I did send Utilities Unlimited several early
  434. exclusive 'evaluation' versions of my emulator to see if they were
  435. interested in purchasing it (for their Emplant package).  But this program
  436. (Apple 2000) is not a part of the Emplant package!  Utilities Unlimited
  437. was in no way involved with the development of this program.  There was
  438. never an agreement made over ownership rights.  Several proposals were
  439. submitted by me as per Jim Drew's requests for exclusive rights, but an
  440. agreement was never reached.
  441.  
  442. The positive side effect of this is that you may use the Apple 2000
  443. program without having to spend >$300!
  444.  
  445.  
  446. ABOUT THE AUTHOR
  447.  
  448. "Apple 2000" was written by Kevin Kralian over the course of two years.
  449. He has spent time in the US Marine Corps 'finding himself'.  He is now a
  450. full time college student, preparing to transfer to CSU, Sacramento.  He
  451. has over 10 years of programming experience, including ADA, BASIC, C,
  452. Pascal, 6502 and 680x0 assembly.  Programming interests focus on
  453. performance programming, including games and emulation.  Career goals
  454. include firefighter (!?) and computer programmer.
  455.  
  456. He may be contacted at "Kevin_Kralian@sacbbx.com"
  457.  
  458.  
  459. "PAYMENT" FOR THIS PROGRAM
  460.  
  461. Though this program is being distributed freely as shareware, I do not
  462. expect monetary payment.  My original intentions were simply to have my
  463. program be 'used' by the Amiga community, and I still feel the same way.
  464. I've worked long and hard on this program and the most rewarding thing to
  465. me know would be to simply know people are enjoying it!
  466.  
  467. However, what I WOULD appreciate would be any technical references for any
  468. computer/hardware/platform.  Let me explain...
  469.  
  470. Many improvements in the Apple emulator are dependant upon me finding
  471. Apple technical reference material (i.e, unimplemented instructions,
  472. serial/parallel support, ProDOS harddrive support, etc).  If you would
  473. like to see these features implemented, the biggest thing you can do is
  474. send me any tech material that could be helpful (i.e, "Whats Where In The
  475. Apple ][: An Atlas", "Beneath Apple DOS", "Beneath Apple ProDOS", etc).
  476.  
  477. Also, some ideas for my next emulator include:  Atari VCS (2600), GameBoy,
  478. Nintendo, Atari 400/800 and Commodore 64/128.  Even though there are a few
  479. C-64 emulators out there, many people have urged me to do one "the right
  480. way" (ground has been broken and the C-64 emulation is underway already).
  481. I tend to want to do the old Atari VCS or Gameboy emulation.  HOWEVER, in
  482. order to do this, I need the tech information that I cannot publically
  483. obtain.
  484.  
  485. Do YOU want these game machines to be emulated (I do)?  If you are one of
  486. those priviledged people who might have been involved in developing
  487. software for any of these machines or somehow have any tech info on these
  488. machines, please send me any and all tech information.  *** I WILL ***
  489. make an emulator of these machines when I have enough tech information to
  490. do so.  But I need your help.
  491.  
  492. I am open to any suggestions, comments, or feedback.  Let me know how the
  493. emulator works for you.  Please let me know of anything that does not work
  494. (that works on a real Apple ][), and I will do my best to correct the
  495. problem.  I am also interested in obtaining any Apple ][ programs people
  496. may have to test under my emulation.
  497.  
  498. Anybody interested please contact me at "Kevin_Kralian@sacbbx.com"
  499.  
  500.  
  501. Particular things I'm looking for:
  502.  
  503.   o Whats Where in the Apple ][: An Atlas to the Apple computer
  504.   o Beneath Apple DOS
  505.   o Beneath Apple ProDOS
  506.   o Apple Super Serial Card / Parallel card manuals
  507.   o AmigaDOS Programmers Reference
  508.   o Any 2.0+ Amiga ROM Kernal Manuals (I'm using 1.3)
  509.   o ANY kind of tech info on Gameboy, Nintendo, or the old Atari VCS
  510.     (there once was an Apple ][ card to program the Atari. Anybody
  511.     have it?)
  512.   o Any and all Apple ][ programs.
  513.   o Any old Apple ][ hardware (I use a ][gs; its too different from ][+)
  514.   o Any responses, reactions, suggestions, etc. on my emulation.
  515.   o etc...
  516.  
  517.  
  518. CREDITS
  519.  
  520. I owe lots of thanks to lots of people.
  521.  
  522. Thank you my dearest JoAnnaBear for being so supportive of me and this
  523. project over the last two years, and for not going crazy over my many
  524. hours of "techno-babble", but just patiently smiling back as if you
  525. understood me.  :-)
  526.  
  527. Thank you Robbie for all your inspiration and encouragement.  And thanks
  528. for your ice-cream sandwiches, twisted sense of humor, brainstorm
  529. sessions, and hundreds of hours worth of second-hand smoke (cough cough).
  530. Thank you for the book "Amiga Machine Language Programming Guide" - the
  531. very first 680x0 assembly book I've seen (blech!).  By the way, this book
  532. was due back at the library in 1989.  How are your games "To Sir With
  533. Love" and "The Piano" coming along?  Oh yeah...and thanks for cleaning up
  534. and converting my docs to AmigaGuide format for me  :-)
  535.  
  536. Thank you Bill, for taking your family and moving far away (just
  537. kidding!).
  538.  
  539. Thanks to those incredible guys at Computer Cafe. I appreciate how you let
  540. me use your various machines for debugging and testing during the
  541. development of my emulation.  Without your help, I would have never been
  542. able to work out the '040 bugs, nor have seen my emulation running on a
  543. 28" monitor with cool 24 bit backgrounds.
  544.  
  545. Thanks to Carmen Rizzolo, the computer artist extraordinaire!  Your
  546. original artwork for my previous programs are utterly amazing.  Without
  547. people like Carmen, where would we get cool 3D Star Trek and telephone
  548. objects?
  549.  
  550. Thanks to Will, the only intelligent Mac owner I know.  It was great to
  551. share ideas on high performance 6502 emulation with the 680x0.  Have you
  552. finished your Mac version of your Apple ][ emulator yet?  Thanks for that
  553. 'half' of the "Inside the Apple //e" manual.  Did you ever find pages
  554. 1-110?
  555.  
  556. Thank you Nico François, for your contribution to the Amiga community.
  557. ReqTools is a very polished piece of work, and I know that your work has
  558. saved me (and many others) hours of work trying to "recreate the wheel".
  559. (Reqtools.library is Copyright © by Nico François).
  560.  
  561. Thanks to the many helpful people on the Internet, for helping me through
  562. many obscure programming and debugging challenges.
  563.  
  564. Thanks to Apple Computer and Steve Wozniak for creating the original Apple
  565. ][ computer.  And congratulations to Apple Computer for knowing how to
  566. market their computers and becoming a large, successful company.  Maybe
  567. Commodore can learn a few things from you before they drive themselves out
  568. of business?
  569.  
  570. Thanks to 'Dalton', for his "Dalton's Disk Disintegrator" (DDD) program on
  571. the Apple ][.  My (de)compression routines were based on his routines and
  572. attempt to compress data in an identical, compatible way.
  573.  
  574. And finally, thanks to the many people I do not have space to mention, and
  575. to all of the Amiga users who have made the Amiga scene as wonderful as it
  576. is.
  577.